package com.lhd.service;

import java.util.List;

import com.lhd.entity.query.UserCourseQuery;
import com.lhd.entity.po.UserCourse;
import com.lhd.entity.vo.PaginationResultVO;

/**
 * @Author: liuhd
 * @Date: 2025/03/23
 * @Description: UserCourse业务接口
 */
public interface UserCourseService {
	/**
	 * 根据条件查询列表
	 */
	List<UserCourse> findListByQuery(UserCourseQuery query);

	/**
	 * 根据条件查询数量
	 */
	Long findCountByQuery(UserCourseQuery query);

	/**
	 * 分页查询
	 */
	PaginationResultVO<UserCourse> findListByPage(UserCourseQuery query);

	/**
	 * 新增
	 */
	Long add(UserCourse bean);

	/**
	 * 新增或更新
	 */
	Long addOrUpdate(UserCourse bean);

	/**
	 * 批量新增
	 */
	Long addBatch(List<UserCourse> listBean);

	/**
	 * 批量新增或修改
	 */
	Long addOrUpdateBatch(List<UserCourse> listBean);

	/**
	 * 多条件更新
	 */
	Long updateByQuery(UserCourse bean, UserCourseQuery query);

	/**
	 * 多条件删除
	 */
	Long deleteByQuery(UserCourseQuery query);

	/**
	 * 根据PRIMARY查询
	 */
	UserCourse getUserCourseById(Integer id);

	/**
	 * 根据PRIMARY删除
	 */
	Long deleteUserCourseById(Integer id);

	/**
	 * 根据PRIMARY更新
	 */
	Long updateUserCourseById(UserCourse bean, Integer id);

}